﻿''' <summary>
''' 
''' </summary>
''' <remarks></remarks>
Public Class KOAdam
    Inherits ObjektKO
    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefuellstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefuellstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub

    Private Sub StartwerteLaden()
        KOID = "ADAM"

        Armee = Armeen.TI.ToString.ToString
        Musik = "Adam"
        Bild = GetBildID()
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
                Gaben(1) = Gaben(0)
            Case CommanderWarsGameModi.AdvanceWars2
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 5
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDS
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 5
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDC
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case Else
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 5
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
        End Select
        KORange = 2
        KOname = Objektverwalter.GetKO(Bild).KOBeschreibung.Name
        KOLaden()
    End Sub

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        OffensivStaerke = New Feuerkrafttabelle130
        AnyUnitKampfverstaerker = New Point(10, 1)
        If OhneFunktion = False Then
            AnimationEigene("EAGLEGABE", 2)
        End If
        GabeEingesetzt()
    End Sub

    Public Overrides Sub KOLaden()

        MaxGlueckbeiZerstoerung = True
        ZusaetlicheKampfschwaecheproTP = 3
        ATKDEFBoostdurchZerstoerung.Y = 15
        AnyUnitKampfverstaerker = New Point(0, 0)
        NochMalZiehenUndKampfaenderNachZerstoerung = 0
        If DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWarsDC Then
            'Dafuer sinkt die Feuerkraft aber drastisch
            WetterReichweitenbonus(0) = 0
        End If
    End Sub

    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        If DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWars Then
            OffensivStaerke = New Feuerkrafttabelle130
            AnyUnitKampfverstaerker = New Point(10, 1)
            If OhneFunktion = False Then
                AnimationEigene("EAGLEGABE", 2)
            End If
            GabeEingesetzt()
        Else
            OffensivStaerke = New Feuerkrafttabelle140
            AnyUnitKampfverstaerker = New Point(10, 1)
            NochMalZiehenUndKampfaenderNachZerstoerung = -35
            If OhneFunktion = False Then
                AnimationEigene("SPEZIALGABE", 2)
            End If
            GabeEingesetzt()
        End If
    End Sub

    Public Overrides Sub KOFrame()
        'Wir machen nichts
    End Sub
End Class

Public Class KOBeschreibungAdam
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Adam"
        Fein = "Vektoren"
        Nein = "Prozentfehler"
        Beschreibung = New String() {"Ein mathematischer KO", "der jeden Zug berechnet.", "Er setzt auf die Macht", "der Zahlen."}
        Stil = New String() {"Truppen haben mehr Glueck wenn sie", "Feinde zerstoeren koennen und", "erhalten bei Zerstoerung einen", "einmaligen Deffensiveboost."}
        Gabebeschreibung = New String() {"Seine Truppen sind staerker und wenn", "sie Feinde zerstoeren erhaelt eine", "andere zufaellige Einheit", "einen ATK und Bewegungsboost."}
        SpezialgabeBeschreibung = New String() {"Seine Truppen sind staerker und wenn", "sie Feinde zerstoeren erhaelt eine", "andere zufaellige Einheit", "einen ATK und Bewegungsboost,", "zusaetzlich kann die angreifende Einheit", "sich noch mal bewegen."}
        GabeKosten = 3
        Spezialgabekosten = 5
        Gaben = New String() {"Dezimierung", "Kartesische Saeuberung"}
        Synergie = New Decimal() {1}
        KONamen = New String() {"KOSHI"}
        Doppelgabenamen = New String() {"Computerfreaks"}
        Gabesaetze = New String() {"Such dir ein Hobby? Das ist mein Hobby!" _
                                 , "Oh! Suchst du ein Schrappnel?" _
                                 , "Praezision zahlt sich aus!" _
                                 , "Ich mache dich durch Wissenschaften blind" _
                                 , "Mach dich bereit fuer ein Versagen deiner Strategie!" _
                                 , "Wenn meine Truppen ihr Limit erreichen ... Wirst du bedeutungslos!"}
        Siegsaetze = New String() {"Nenn es Pech, wenn du willst" _
                                , "Wer hat gesagt Mathe waere fuers Leben ueberfluessig?" _
                                , "Ha! Die Rache der Nerds!"}
        Tauschsaetze = New String() {"Vektor 32 Grad im Wind, Geschwindigkeit ..." _
                                    , "Mach dein T-Shirt sauper! Wasch deine Haare! Ich kuemmere mich um die Dinge!"}
        Doppelgabesaetze = New DoppelGabesatz() {New DoppelGabesatz("ADAM", "KOSHI", "Strategie analysiert...", "ihr habt keine Chance.") _
                                              , New DoppelGabesatz("KOSHI", "ADAM", "Computer hochgefahren. Bucks beseitigt", "Programm initialisiert. Die Nerds sind da!")}
        Niederlagesaetze = New String() {"Es ist dieser doofe Bug.", _
                                     "Ich habe einen System Runtime Error."}
    End Sub
End Class
